<?php 

Yii::import('application.InterfazEmpleado.buscar_registro.Buscar_Usuario');
Yii::import('application.InterfazEmpleado.buscar_registro.Buscar_recorrido');
Yii::import('application.InterfazEmpleado.buscar_registro.Buscar_Empleado');
Yii::import('application.InterfazEmpleado.buscar_registro.Buscar_Imagen_Perfil');

Yii::import('application.InterfazEmpleado.modificar_registro.Modificar_Empleado');
Yii::import('application.InterfazEmpleado.modificar_registro.Modificar_Imagen_Perfil');

Yii::import('application.InterfazEmpleado.dbObject.Usuario');
Yii::import('application.InterfazEmpleado.dbObject.Empleado');
Yii::import('application.InterfazEmpleado.dbObject.Pedido');
Yii::import('application.InterfazEmpleado.dbObject.Perfil_Empleado');

Yii::import('application.InterfazEmpleado.Configuracion_sucursal');

class InterfazEmpleados{
  
  //	private $Calendario;
	
	private $usuario;
	private $empleado;
	private $imagen_perfil;
	private $nro_empleado; 
	private $pedidos; // Array de pedidos

//_______________________BUSQUEDA DE DATOS COMUNES______________________
// 	En esta etapa se busca y devuelve toda la informacion que sea comun a cualquier proceso:
// 	- La informacion completa del usuario que solicito el pedido.
	
	public function __construct($nro_empleado,$dni_empleado){ //($nro_empleado, $dni_empleado)
		$busqueda=new Buscar_Empleado($nro_empleado);
		$this->empleado=$busqueda->get_empleado_encontrado($dni_empleado);
		if(isset($this->empleado)){
			$this->nro_empleado=$this->empleado->get_nro_empleado();
			$busqueda= new Buscar_Imagen_Perfil($nro_empleado);
			$this->imagen_perfil=$busqueda->get_imagen_perfil();
		}
	}
	
	public function validar(){
		return isset($this->empleado);
	}
	
	public function get_usuario(){
		return $this->usuario;
	}
	
	public function get_datos(){
		return $this->empleado;
	}

	public function get_pedidos(){
		return $this->pedidos;
	}
	
	public function get_imagen_perfil(){
		$imagen=$this->imagen_perfil->get_imagen();
		if (!empty($imagen)){
			return $imagen;
		}else{
			return false;
		}
	}
	
	//___BUSQUEDA DE USUARIO___
	public function buscar_usuario($id_busqueda){
		$busqueda= new Buscar_Usuario($id_busqueda);
		$this->usuario =$busqueda->get_usuario_encontrado();
		return isset($this->usuario);
	}	
	
	//___Agenda___
	///solo buscar el ultimo pedido de un usuario o un pedido por nro_pedido
	public function agenda($tipo_de_busqueda, $fecha){ // [nro_pedido, nro_usuario, dni_usuario]
		$busqueda=new Buscar_pedido($this->nro_empleado, $tipo_de_busqueda, $fecha);
		$this->pedidos= $busqueda->get_agenda();;
	}

//_____________________GESTION DE USUARIOS_______________________________

	//_____________________MODIFICAR_______________________
	public function modificar_empleado($nombre_empleado, $apellido_empleado, $dni_empleado, $especialidad, $sucursal, $transporte, $direccion, $coordenadas){
		$modificar=new Modificar_Empleado($this->empleado->get_nro_empleado(), $nombre_empleado, $apellido_empleado, $dni_empleado, $especialidad, $sucursal, $transporte, $direccion, $coordenadas);
		unset($modificar);
		return true;
	}
	
	public function modificar_imagen_perfil($imagen_temporal, $type){
		$valor=$this->imagen_perfil;
		$imagen=!empty($valor);
		$moficar= new Modificar_Imagen_Perfil($imagen_temporal, $type, $this->nro_empleado,$imagen);
	}
	
	public function get_recorrido(){
		$busqueda= new Buscar_recorrido($this->nro_empleado);
		$inicio=$busqueda->get_final($this->empleado->get_sucursal_de_trabajo());
		$pedidos=$busqueda->get_pedidos();
		$final=$this->empleado->get_direccion_empleado();
		$recorrido=Array();
		array_push($recorrido,$inicio);
		foreach($pedidos as $dato){
			array_push($recorrido, $dato);
		}
		array_push($recorrido,$final);
		return $recorrido;
	}	
}
?>